package main

import (
	"fmt"
	"time"
)

func main() {
	//定义一个通道
	ch := make(chan int)
	//将通道打开并传入值
	go test3(ch)
	/*for {
		time.Sleep(time.Second * 1)
		v, ok := <-ch
		//通道没关闭之前 ok为true  之后为false执行下面语句
		if !ok {
			fmt.Println("通道已经关闭", ok)
			break
		}
		fmt.Println("v:", v)

	}*/
	//更加方便的传入值
	for v := range ch {
		fmt.Println("v:", v)
	}
}

func test3(ch chan int) {
	//写数据到通道
	for i := 0; i < 10; i++ {
		time.Sleep(time.Second * 1)
		ch <- i
	}

	//当for中遍历结束 关闭通道
	close(ch)
}
